package com.jz.netthings.analysis.mapper;


import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.jz.netthings.analysis.bean.ProviderRoundBase;
import com.jz.netthings.support.AdscmPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 *  新的  供浆者轮次表的基础统计数据 Mapper 接口
 *  对于数据库不同的查询方法
 *  2019年8月1日
 */
@Repository("providerRoundBase2Mapper")
public interface ProviderRoundBase2Mapper{

    /**
     * 查询某个村落所有浆员今年和去年的详细轮次信息
     * @param villageName
     * @param currentYear
     * @param lastYear
     * @return
     */
    List<ProviderRoundBase> selectVillAllProviderRound(@Param("villageName") String villageName,@Param("currentYear") int currentYear,@Param("lastYear") int lastYear);
    /**
     * 查询某些浆员今年和去年的相信轮次信息
     * @param villageName
     * @param currentYear
     * @param lastYear
     * @return
     */
    List<ProviderRoundBase> selectVillProviderRound(@Param("providerList") List<Long> providerList,@Param("villageName") String villageName,@Param("currentYear") int currentYear,@Param("lastYear") int lastYear);

    /**
     * 今年已进站浆员
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillThisYearComedRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);

    /**
     * 忠诚浆员
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillZcProviderRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);
    /**
     * 复苏浆员
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillFusuProviderRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);

    /**
     * 今年新浆员
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillNewProviderRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);

    /**
     * 今年未进站
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillCurrentTimeNotComedRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);

    /**
     * 休眠
     * @param currentYear
     * @param lastYear
     * @param page
     * @return
     */
    List<ProviderRoundBase> selectVillXiuMianRound(@Param("currentYear") int currentYear,@Param("lastYear") int lastYear,@Param("page") AdscmPage<ProviderRoundBase> page);




}
